package fr.business;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

import fr.form.Application;
import fr.form.synthese.SyntheseEcranApplications;
import fr.form.synthese.SyntheseApplication;
import fr.form.synthese.SyntheseEcranParticipation;

public interface ManageApplicationsBusinessService {
	
	List<Application> getAllApplications();
	
	List<SyntheseApplication> getStartedApplications();
	
	SyntheseApplication applicationToSynthese(Application app, Integer userId);

	Boolean participerAction(Integer userId , Integer appId);


	boolean deleteApplication(Integer id);

	boolean createApplication(String logo, String lien, String libelle,
			BigDecimal montant, Integer statut);

	void updateStatutsApplications(SyntheseEcranApplications ecran);
	void updateStatutsApplicationsMoa(SyntheseEcranApplications ecran);

	boolean updateApplication(Integer id, String lien, String libelle,BigDecimal montant, Integer statut, String logo);
	boolean updateApplicationMoa(Integer id, Integer statut);

	List<Application> getApplicationsByStatut(Integer statutRecherche);

	boolean validerParticiperAction(Integer user, Integer idApp, SyntheseEcranParticipation ecranPart);

	Application readObject(Integer idApp);
	
	Map<Integer,String> getMapStatutsApplication();

	void prepareDate(Integer idApp,Map<String, Object> map);


}
